package com.tbs.common.annotation;

import com.tbs.common.config.*;
import com.tbs.common.config.property.DataHolderProperty;
import com.tbs.common.config.property.DelegateProperty;
import com.tbs.common.config.property.StartUpProperty;
import com.tbs.common.config.property.UuidProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Import;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @author tongj
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Import({DataHolderConfig.class, DelegateConfig.class, StartUpConfig.class, UuidConfig.class, WrapperConfig.class})
@EnableConfigurationProperties(
    {DataHolderProperty.class, DelegateProperty.class, StartUpProperty.class, UuidProperty.class})
public @interface UseCommonTool {
}
